This invention relates to numerical control machine tools for cutting contours into a workpiece wherein the cutting machine includes servo motors for driving the cutting tool along at least two axes in response to velocity command signals for each axis. More specifically, this invention relates to apparatus and methods for generating such velocity command signals in response to input data defining the end points of straight line segments which are to be cut by the cutting tool, which straight line segments make up the perimeter of the desired cutting tool path. It will be understood that when curves such as circles and ellipsis are to be followed by the cutting tools, these curves will be generated as a plurality of relatively short straight line segments, the length of the line segments depending upon the radius of curvature.
The most advanced numerical control machine tools presently available for controlling the contour motion of a cutting tool generally calculate the distance between the end point of a line segment at which the tool resides at a given instant in time and the other end point of the line segment which the cutting tool is to traverse. Output velocity signals are then generated in proportion to the distances along each of the axes to be traveled toward the desired end point. In such apparatus it has been recognized that the servo systems controlling the motors for driving the cutting tool along each of the axes of the desired line segment often do not respond linearly to the velocity command signals, and the cutting tool is often driven in response to the velocity command signals along a path which is different from the desired line segment. For this reason, prior art numerical control machine tools have included monitoring devices, such as shaft encoders or resolvers, for constantly monitoring the position of the cutting tool along each of the axes to be controlled. The monitoring devices produce a signal which may be used as an error feedback signal to determine whether the cutting tool is moving along the desired path.
It is also common in such prior art systems to utilize the position feedback signal to calculate a new set of command velocity signals by determining the actual tool location and its deviation from the desired path. Thus, the command velocity signal connected to the drive motors is updated whenever the tool position deviates from the desired line segment. Thus, the command velocities will be altered to increase the driving signal for the servo motors driving the cutting tool in accordance with the deviation from the desired path.
A system such as that described above has a number of serious drawbacks. Initially, it will be immediately recognized that once the tool has deviated from the desired path, merely altering the motor drive signals in accordance with this deviation will permit the error to continue. Thus, the error is never completely eliminated.
A further deficiency of this prior art technique exists as a consequence of the practical limitations in building the control equipment. Thus, it has long been common to utilize digital shaft encoders or resolvers to constantly monitor the position of the machine cutting tool and to digitally derive the desired velocity signals for each of the servo motors. The digitally derived velocity signal must be converted, typically in a digital-to-analog converter, to an analog signal compatible with the servo motor control. Both the digital-to-analog converter and the shaft encoder or resolver therefore have the inherent limitation of digital devices that a certain minimum error signal is required to change their least significant bit. Thus for example if a shaft encoder having 14 bits were used to measure the entire range of a given axis, the smallest incremental distance required to change the least significant bit of the encoder, and thus register as an error signal, is approximately one ten thousandth of the total axis range. Similarly, if, for example, a digital-to-analog converter designed to respond to 11-bit data words is utilized, then only velocity changes which are equivalent to approximately one thousandth of the maximum velocity may be converted. While this inherent limitation in such digital circuitry appears relatively minor in significance, it is sufficient to produce a relatively rough cutting surface on the part being machined since the cutting tool will be permitted to continue along an erroneous path until the least significant ascertainable amount of error is realized in a given axis. Only then will a correction be implemented, changing the cutting path abruptly.
The problem discussed above becomes even more acute when the angle separating the desired line segment from one of the servo controlled axes becomes relatively small. It will be recognized that the error between the actual path and the desired path along an axis perpendicular to this axis, although relatively small, can be a relatively large percentage of the total distance to be moved along this perpendicular axis. Therefore, the inaccuracies which are caused by the limitation of the digital circuitry become more acute. Thus, by way of extreme example, if the distance to be moved between a pair of line segment end points along a given axis were equivalent to ten counts of the shaft encoder, it is apparent that an error signal of sufficient magnitude to make a correction will not be generated until the actual tool path is in error from the desired path by one encoder count or least resolver discriminator resolution, or one tenth of the entire distance to be moved along this particular axis. The surface finish along this axis is therefore likely to be extremely poor, and in machines of this type the surface finish will often be significantly poorer than the accuracy of the tool in reaching the desired end point.